package sys_enum

import "gitee.com/lailonghui/vehicle-supervision-framework/pkg/dicts"

// 系统-用户级别
type sysUserGrade int

var SysUserGrade sysUserGrade

// 全部
func (c *sysUserGrade) DataAccessAll() int {
	return 1
}

// 省
func (c *sysUserGrade) DataAccessProvince() int {
	return 2
}

// 市
func (c *sysUserGrade) DataAccessCity() int {
	return 3
}

// 县
func (c *sysUserGrade) DataAccessArea() int {
	return 4
}

// 组织
func (c *sysUserGrade) DataAccessOrg() int {
	return 5
}

// 部门
func (c *sysUserGrade) DataAccessDept() int {
	return 6
}

// 个人
func (c *sysUserGrade) DataAccessUser() int {
	return 7
}

// 管理机构(代理商、卫星运营商等)
func (c *sysUserGrade) DataAccessManage() int {
	return 8
}

func (c *sysUserGrade) ToDict(value int) *dicts.IntDict {
	return &dicts.IntDict{
		Text:  c.ToText(value),
		Value: value,
	}
}

func (c *sysUserGrade) ToText(value int) string {
	switch value {

	case 1:
		return "全部"

	case 2:
		return "省"

	case 3:
		return "市"

	case 4:
		return "县"

	case 5:
		return "组织"

	case 6:
		return "部门"

	case 7:
		return "个人"

	case 8:
		return "管理机构(代理商、卫星运营商等)"

	}
	return ""
}

func (c *sysUserGrade) ToValue(text string) int {
	switch text {

	case "全部":
		return 1

	case "省":
		return 2

	case "市":
		return 3

	case "县":
		return 4

	case "组织":
		return 5

	case "部门":
		return 6

	case "个人":
		return 7

	case "管理机构(代理商、卫星运营商等)":
		return 8

	}
	return 0
}
